{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Automatically created module for IPython interactive environment\n"
     ]
    }
   ],
   "source": [
    "# Author: Fabian Pedregosa -- <fabian.pedregosa@inria.fr>\n",
    "# License: BSD 3 clause\n",
    "\n",
    "print(__doc__)\n",
    "\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn import linear_model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(10, 10) (10,)\n"
     ]
    }
   ],
   "source": [
    "# X is the 10x10 Hilbert matrix\n",
    "X = 1. / (np.arange(1, 11) + np.arange(0, 10)[:, np.newaxis])\n",
    "y = np.ones(10)\n",
    "print(X.shape, y.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# #############################################################################\n",
    "# Compute paths\n",
    "\n",
    "n_alphas = 200\n",
    "alphas = np.logspace(-10, -2, n_alphas)\n",
    "\n",
    "coefs = []\n",
    "for a in alphas:\n",
    "    # create ridge modol\n",
    "    ridge = linear_model.Ridge(alpha=a, fit_intercept=False)\n",
    "    ridge.fit(X, y)\n",
    "    coefs.append(ridge.coef_)\n",
    "\n",
    "# #############################################################################\n",
    "# Display results\n",
    "\n",
    "ax = plt.gca()\n",
    "\n",
    "ax.plot(alphas, coefs)\n",
    "ax.set_xscale('log')\n",
    "ax.set_xlim(ax.get_xlim()[::-1])  # reverse axis\n",
    "plt.xlabel('alpha')\n",
    "plt.ylabel('weights')\n",
    "plt.title('Ridge coefficients as a function of the regularization')\n",
    "plt.axis('tight')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
